home *** CD-ROM | disk | FTP | other *** search
- package sun.plugin;
-
- import java.applet.Applet;
- import java.applet.AppletContext;
- import java.applet.AudioClip;
- import java.awt.Image;
- import java.net.URL;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
- import sun.applet.ActivatorAppletImageRef;
- import sun.applet.AppletAudioClip;
- import sun.applet.AppletPanel;
- import sun.applet.AppletSecurity;
- import sun.misc.Ref;
-
- public abstract class ActivatorAppletContext implements AppletContext {
- private AppletPanel appletPanel;
- private static Vector appletPanels = new Vector();
- private static Hashtable audioClips = new Hashtable();
- private static Hashtable imageRefs = new Hashtable();
-
- public AudioClip getAudioClip(URL var1) {
- System.getSecurityManager().checkConnect(var1.getHost(), var1.getPort());
- Hashtable var3 = audioClips;
- synchronized(var3){}
-
- Object var2;
- try {
- Object var5 = (AudioClip)audioClips.get(var1);
- if (var5 == null) {
- var5 = new AppletAudioClip(var1);
- audioClips.put(var1, var5);
- }
-
- var2 = var5;
- } catch (Throwable var7) {
- throw var7;
- }
-
- return (AudioClip)var2;
- }
-
- public Image getImage(URL var1) {
- System.getSecurityManager().checkConnect(var1.getHost(), var1.getPort());
- Hashtable var3 = imageRefs;
- synchronized(var3){}
-
- Image var2;
- try {
- ActivatorAppletImageRef var5 = (ActivatorAppletImageRef)imageRefs.get(var1);
- if (var5 == null) {
- var5 = new ActivatorAppletImageRef(var1);
- imageRefs.put(var1, var5);
- }
-
- var2 = (Image)((Ref)var5).get();
- } catch (Throwable var7) {
- throw var7;
- }
-
- return var2;
- }
-
- public Applet getApplet(String var1) {
- AppletSecurity var2 = (AppletSecurity)System.getSecurityManager();
- var1 = var1.toLowerCase();
- Enumeration var3 = appletPanels.elements();
-
- while(var3.hasMoreElements()) {
- AppletPanel var4 = (AppletPanel)var3.nextElement();
- String var5 = var4.getParameter("name");
- if (var5 != null) {
- var5 = var5.toLowerCase();
- }
-
- if (var1.equals(var5) && var4.getDocumentBase().equals(this.appletPanel.getDocumentBase())) {
- try {
- var2.checkConnect(this.appletPanel.getCodeBase().getHost(), var4.getCodeBase().getHost());
- return var4.getApplet();
- } catch (SecurityException var7) {
- this.showStatus(((Throwable)var7).getMessage());
- }
- }
- }
-
- return null;
- }
-
- public Enumeration getApplets() {
- AppletSecurity var1 = (AppletSecurity)System.getSecurityManager();
- Vector var2 = new Vector();
- Enumeration var3 = appletPanels.elements();
-
- while(var3.hasMoreElements()) {
- AppletPanel var4 = (AppletPanel)var3.nextElement();
- if (var4.getDocumentBase().equals(this.appletPanel.getDocumentBase())) {
- try {
- var1.checkConnect(this.appletPanel.getCodeBase().getHost(), var4.getCodeBase().getHost());
- var2.addElement(var4.getApplet());
- } catch (SecurityException var6) {
- this.showStatus(((Throwable)var6).getMessage());
- }
- }
- }
-
- return var2.elements();
- }
-
- public abstract void showDocument(URL var1);
-
- public abstract void showDocument(URL var1, String var2);
-
- public abstract void showStatus(String var1);
-
- void addAppletInContext(AppletPanel var1) {
- this.appletPanel = var1;
- appletPanels.addElement(var1);
- }
-
- void removeAppletFromContext(AppletPanel var1) {
- appletPanels.removeElement(var1);
- }
- }
-